package com.zzsz.mapper;

import com.zzsz.domain.ProductsCategoriesInventoryVO;
import com.zzsz.domain.ZzszAddProductsDTO;
import com.zzsz.domain.ZzszProductCategories;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface InventoryMapper {

    /**
     * 商品及其处在分类的库存列表
     * @return
     */
    List<ProductsCategoriesInventoryVO> list(ProductsCategoriesInventoryVO productsCategoriesInventoryVO);

    /**
     * 获取分类名称
     * @return
     */
    List<ZzszProductCategories> getCategoryName();

    /**
     * 获取分类名称
     * @return
     */
    List<ZzszProductCategories> selectCategory();

    /**
     * 一级分类列表
     * @return
     */
    List<ZzszProductCategories> getCategoryName1V();
    /**
     * 二级分类列表
     * @return
     */
    List<ZzszProductCategories> getCategoryName2V();

    /**
     * 库存管理的 添加商品
     * @param zzszAddProductsDTO
     * @return
     */
    int addProduct(ZzszAddProductsDTO zzszAddProductsDTO);
    /**
     * 库存管理的 添加商品库存
     * @param zzszAddProductsDTO
     * @return
     */
    int addProductInventory(ZzszAddProductsDTO zzszAddProductsDTO);
    /**
     * 库存管理的 添加商品预警ID
     * @param zzszAddProductsDTO
     * @return
     */
    int addProductAlertsID(ZzszAddProductsDTO zzszAddProductsDTO);

    int addCategory1(ZzszProductCategories productCategories);
    int addCategory2(ZzszProductCategories productCategories);

    /**
     * 添加商品图片链接
     * @param productId
     * @param imageUrl
     * @return
     */
    int addProductImg(@Param("productId") Long productId, @Param("imageUrl") String imageUrl);

    /**
     * 添加库存
     * @param zzszAddProductsDTO
     * @return
     */
    int addInStock(ZzszAddProductsDTO zzszAddProductsDTO);
}
